// flags/wx.go
package flags

import "flag"

type OptionsModel struct {
	Env  string // 环境
	DB   bool   // 数据库迁移
	Type string
	Sub  string
}

var Options OptionsModel

func Parse() {
	flag.StringVar(&Options.Env, "e", "prod", "环境")
	flag.StringVar(&Options.Type, "t", "", "类型：user ai_role")
	flag.StringVar(&Options.Sub, "s", "", "子类：create")
	flag.BoolVar(&Options.DB, "db", false, "数据库迁移")
	flag.Parse()
}

func Run() bool {
	if Options.DB {
		AutoMigrate()
		return true
	}
	switch Options.Type {
	case "user":
		var user UserFlag
		switch Options.Sub {
		case "create":
			user.CreateUser()
			return true
		}
	case "ai_role":
		var aiRole AiRoleFlag
		switch Options.Sub {
		case "create":
			aiRole.CreateAiRole()
			return true
		}

	}
	return false
}
